import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/login.vue'
import Home from '../components/home.vue'
import Welcome from '../components/welcome.vue'
import User from '../components/Users/user.vue'
import Rights from '../components/Power/rights.vue'
import Roles from '../components/Power/roles.vue'
import Cate from '../components/Goods/cate.vue'
import Params from '../components/Goods/params.vue'
import List from '../components/Goods/list.vue'
import Add from '../components/Goods/add.vue'
import Order from '../components/Order/order.vue'
import Report from '../components/Report/report.vue'
Vue.use(VueRouter)

const routes = [{
  path: '/',
  redirect: '/login'
},
{
  path: '/login',
  component: Login
},
{
  path: '/home',
  component: Home,
  redirect: '/welcome',
  children: [{
    path: '/welcome',
    component: Welcome
  },
  {
    path: '/users',
    component: User
  },
  {
    path: '/rights',
    component: Rights
  },
  {
    path: '/roles', component: Roles
  },
  {
    path: '/categories', component: Cate
  },
  {
    path: '/params', component: Params
  },
  {
    path: '/goods', component: List
  },
  {
    path: '/goods/add', component: Add
  },
  {
    path: '/orders', component: Order
  },
  {
    path: '/reports', component: Report
  }
  ]
}
]

const router = new VueRouter({
  routes
})

// 挂载路由导航守卫 实现用户必须登录才能看到某些页面
router.beforeEach((to, from, next) => {
  // to 将要访问的路径
  // from 从哪个路面来
  // next 是一个函数  表示放行
  // next() 默认放行 next('/login) 强制跳转到login页面
  if (to.path === '/login') return next()
  // 获取token 判断是否登录
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  next()
})

export default router
